package com.ipharma.config;

import java.sql.Connection;
import java.util.Hashtable;

import com.ipharma.McdPrs;
import com.ipharma.model.Usuario;

/**
 * Replica la funcionalidad de la session de Http. Es un almacenamiento de
 * datos. Se setean valores que tienen sentido que perduren a lo largo de toda
 * la ejecucion del sistema.
 * 
 * @author afortunato
 */

public class Session extends Hashtable {

   /**
    * Constructor
    */
   public Session() {

   }

   /**
    * Retorna el objecto usuario
    * 
    * @return Usuario
    */
   public Usuario getUsuario() {
      return (Usuario) this.get(McdPrs.aUser);
   }
   
   /**
    * Guarda un objeto de tipo usuario (el usuario que se logueo)
    * @param usuario
    */
   public void setUsuario(Usuario usuario) {
      this.put(McdPrs.aUser, usuario);
   }

   

   /**
    * Returns the actual db connection
    * 
    * @return a Connection object
    */
   public Connection getConn() {

      return (Connection) this.get(McdPrs.aConnection);
   }

   /**
    * Returns the specified property as a string
    * 
    * @return a String property
    */
   public String getString(String pProp) {

      return (String) this.get(pProp);
   }

   /**
    * Returns the specified property as a string
    * 
    * @return a String property
    */
   public long getLong(String pProp) {

      return Long.parseLong((String) this.get(pProp));
   }

}
